package com.geekbang.whatisthread;

public class StopALittle {
    public static void main(String[] args) throws InterruptedException {
        printSlowly("太阳在这个平静的小村庄缓缓升起，又是开始了平常的一天。我们故事的主人公睡眼惺忪的起来\n" +
            "......", 300);
    }

    public static void printSlowly(String text, long interval) throws InterruptedException {
        for (char ch : text.toCharArray()) {
            Thread.sleep(interval);
            System.out.print(ch);
        }
        System.out.println();
    }

    // TODO 线程是java程序执行的发动机, 就是线程运行着java代码
    // TODO 一个程序就是操作系统的一个进程, 一个进程下可以有很多线程
    // TODO 如果一个进程里没有线程, 或者线程都是守护线程, 那么进程就结束了
    // TODO 线程其实就是执行一个入口方法, 执行完毕就结束了, 比如我们之前写的程序,都是使用一个线程执行main方法,执行完毕后,线程就结束了
    // TODO 线程在执行方法的时候, 每次遇到方法的调用, 都会给当前的线程栈增加一层, 这一层里保存的就是线程当前的执行状态, 比如当前方法的局部变量的值,
    //      当前方法执行到了哪里了等, 所以线程里的每一条, 都是方法已经开始执行但是还没结束的方法, 没有结束是因为它代码还没执行完,
    //      或者是在等待其他调用的方法执行完
}
